其他
Python循环语句代码逐行详解:while、for、break和continue
导读:循环语句是指重复执行同一段代码块,通常用于遍历集合或者累加计算。Python中的循环语句有while语句、for语句。
1while(表达式):
2 …
3else:
4 …
1# while循环
2numbers = input("输入几个数字,用逗号分隔:").split(",")
3print(numbers)
4x = 0
5while x < len(numbers): # 当x的值小于输入字数的个数的时候,执行循环内容
6 print (numbers[x])
7 x += 1 # 一个循环结束时给x加1
第2行代码使用input()捕获输入。按照提示输入5个数字,并用逗号分隔。input()根据输入的逗号,生成一个列表。 第3行代码输出列表numbers的内容。 第4行代码定义变量x的值为0。 第5行代码循环列表numbers。 第6行代码输出列表中第x+1个数字的值。 第7行代码,每次循环使变量x增1。
1# 带else子句的while循环
2x = float(input("输入x的值:")) # 接收用户输入的数字并转换为float类型
3i = 0
4while(x != 0): # Python 3中的不等于不再使用<>,一律使用!=
5 if(x > 0):
6 x -= 1 # 如果x大于0,则减1
7 else:
8 x += 1 # 如果x小于0,则加1
9 i = i + 1
10 print( "第%d次循环:%f" %(i, x))
11else:
12 print ("x等于0:", x)
第2行代码输入变量x的值。 第3行代码定义变量i,变量i表示循环次数。 第4行代码,给出循环条件x != 0。如果x不等于0,则执行第5行代码;否则,执行else子句的内容。 第5行代码,判断变量x的值是否大于0。 第6行代码,如果x的值大于0,则每次循环都减1。 第7行代码,判断变量x的值是否小于0。 第8行代码,如果x的值小于0,则每次循环都加1。 第9行代码,每次循环使变量i的值加1。 第11行代码,循环结束,else子句输出变量x的值。输出结果(假设输入数字为0):x等于0:0。
1i = 1
2while i > 0: # i永远大于0
3 i = i + 1
4 print(i)
1for 变量 in 集合:
2 …
3else:
4 …
class range(object)
range(stop) -> range object
range(start, stop[, step]) -> range object
1# for in语句
2for x in range(-1, 2):
3 if x > 0:
4 print ("正数:",x)
5 elif x == 0 :
6 print ("零:",x)
7 else:
8 print ("负数:",x)
9else:
10 print ("循环结束")
第2行代码遍历range(-1,2)生成的列表。range(-1,2)返回的3个数字分别为-1、0、1。每次循环结束,变量x的值依次为-1、0、1。 第3行代码判断变量x的值是否大于0。 第4行代码输出正数的值。输出结果为“正数:1”。 第5行代码判断变量x的值是否等于0。 第6行代码,输出结果为“零:0”。 第8行代码,输出负数的值。输出结果为“负数:-1”。 第9行代码并没有结束for循环,else子句执行后循环才结束。输出结果为“负数:-1”。
for(表达式1; 表达式2; 表达式3)
语句块
1x = 0
2while x < 5:
3 print(x)
4 x = x + 2
1for x in range(0, 5, 2):
2 print (x)
0
2
4
1operator = "+"
2x = 1
3y = 2
4for case in switch(operator): # switch只能用于for... in...循环中
5 if case('+'):
6 print (x + y)
7 break
8 if case('-'):
9 print (x - y)
10 break
11 if case('*'):
12 print (x * y)
13 break
14 if case('/'):
15 print (x / y)
16 break
17 if case(): # 默认分支
18 print ("")
1x = int(input("输入x的值:"))
2y = 0
3for y in range(0, 100):
4 if x == y:
5 print ("找到数字:", x)
6 break
7else:
8 print("没有找到")
第1行代码捕获用户输入的值,并把该值转换为int类型,赋值给变量x。 第2行代码定义一个变量y,变量y用于暂存需要遍历的列表的值。 第3行代码使用for…in…循环遍历range(0, 100)返回的列表。range(0, 100)的返回值为0、1、2、…、99。 第4行代码判断输入的值是否等于列表中的值。如果条件成立,输出查找到的数字,并立即退出循环。循环结束,后面的else子句将不会被执行。 第7行代码,当没有找到输入的值时,else子句后面的代码将被执行。
SyntaxError: 'break' outside loop
1x = 0
2for i in [1,2,3,4,5]:
3 if x == i:
4 continue
5x += i
6print("x的值为", x)
第1行代码将x赋值为0。 第2行代码使用for...in...语句遍历列表[1,2,3,4,5]。 第3行代码将x与i进行比较,如果x与值i相等,则执行第4行的continue语句,停止当前循环,即不再执行第5行代码,继续执行下一个循环。 第6行代码打印出最终的结果,输出为12。
关于作者:黄传禄,高级讲师、管理软件开发工程师、数据库库系统工程师、信息系统管理工程师。有10多年的一线教学经验和高端培训经验,出版多部技术专著,获得多个软件著作权。
更多精彩👇